[INFO] cloning repository https://github.com/1011X/REL-16
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/1011X/REL-16" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1011X%2FREL-16", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1011X%2FREL-16'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] da97ec477cd158ccc34b36664b8d2cd9c951b51f
[INFO] building 1011X/REL-16 against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1011X%2FREL-16" "/workspace/builds/worker-9/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/1011X/REL-16 on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/1011X/REL-16
[INFO] finished tweaking git repo https://github.com/1011X/REL-16
[INFO] tweaked toml for git repo https://github.com/1011X/REL-16 written to /workspace/builds/worker-9/source/Cargo.toml
[INFO] crate git repo https://github.com/1011X/REL-16 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe99933f03afa529d0b4737a2bf56b5013039251c230507124c501ead17a3421
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "fe99933f03afa529d0b4737a2bf56b5013039251c230507124c501ead17a3421", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe99933f03afa529d0b4737a2bf56b5013039251c230507124c501ead17a3421", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe99933f03afa529d0b4737a2bf56b5013039251c230507124c501ead17a3421", kill_on_drop: false }`
[INFO] [stdout] fe99933f03afa529d0b4737a2bf56b5013039251c230507124c501ead17a3421
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 40a70593d46ad4f3f8e9f02e41152644e8bfa009d6c05f7a399851546b94d353
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "40a70593d46ad4f3f8e9f02e41152644e8bfa009d6c05f7a399851546b94d353", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling regex-syntax v0.6.22
[INFO] [stderr]    Compiling unicode-width v0.1.5
[INFO] [stderr]    Compiling getopts v0.2.18
[INFO] [stderr]    Compiling logos-derive v0.11.5
[INFO] [stderr]    Compiling logos v0.11.4
[INFO] [stderr]    Compiling rel v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> src/vm/instr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/vm/instr.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Instr: From<Op>` is not satisfied
[INFO] [stdout]   --> src/main.rs:61:55
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let code: Vec<_> = assembly.into_iter().map(|op| op.into()).collect();
[INFO] [stdout]    |                                                             ^^^^ the trait `From<Op>` is not implemented for `Instr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required because of the requirements on the impl of `Into<Instr>` for `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 173 |     Exchange(RegMut, Address),
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |     Xor(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 181 |     Add(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |     Sub(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 191 |     LRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 197 |     RRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:214:10
[INFO] [stdout]     |
[INFO] [stdout] 214 |     Jump(Address),
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |     BranchOdd(Reg, Address),
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 222 |     BranchEven(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:226:21
[INFO] [stdout]     |
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:230:23
[INFO] [stdout]     |
[INFO] [stdout] 230 |     BranchUnsign(Reg, Address),
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 173 |     Exchange(RegMut, Address),
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |     Xor(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 181 |     Add(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |     Sub(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 191 |     LRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Value`
[INFO] [stdout]    --> src/isa/op.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 197 |     RRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Value`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:214:10
[INFO] [stdout]     |
[INFO] [stdout] 214 |     Jump(Address),
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |     BranchOdd(Reg, Address),
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 222 |     BranchEven(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:226:21
[INFO] [stdout]     |
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `!=` cannot be applied to type `Address`
[INFO] [stdout]    --> src/isa/op.rs:230:23
[INFO] [stdout]     |
[INFO] [stdout] 230 |     BranchUnsign(Reg, Address),
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Address`
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Address: Eq` is not satisfied
[INFO] [stdout]    --> src/isa/op.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 173 |     Exchange(RegMut, Address),
[INFO] [stdout]     |                      ^^^^^^^ the trait `Eq` is not implemented for `Address`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Value: Eq` is not satisfied
[INFO] [stdout]    --> src/isa/op.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |     Xor(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^ the trait `Eq` is not implemented for `Value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: try expression alternatives have incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Address`, found enum `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 392 |             "xchg" => Op::Exchange(reg!(), reg!()),
[INFO] [stdout]     |                                            ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: try expression alternatives have incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected enum `Value`, found enum `Reg`
[INFO] [stdout]     |             help: try using a variant of the expected enum: `Value::Reg(token!().parse::<Reg>()?)`
[INFO] [stdout] ...
[INFO] [stdout] 393 |             "xor"  => Op::Xor(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: try expression alternatives have incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected enum `Value`, found enum `Reg`
[INFO] [stdout]     |             help: try using a variant of the expected enum: `Value::Reg(token!().parse::<Reg>()?)`
[INFO] [stdout] ...
[INFO] [stdout] 394 |             "add"  => Op::Add(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: try expression alternatives have incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected enum `Value`, found enum `Reg`
[INFO] [stdout]     |             help: try using a variant of the expected enum: `Value::Reg(token!().parse::<Reg>()?)`
[INFO] [stdout] ...
[INFO] [stdout] 395 |             "sub"  => Op::Sub(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: try expression alternatives have incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected enum `Value`, found enum `Reg`
[INFO] [stdout]     |             help: try using a variant of the expected enum: `Value::Reg(token!().parse::<Reg>()?)`
[INFO] [stdout] ...
[INFO] [stdout] 396 |             "rol"  => Op::LRot(reg!(), reg!()),
[INFO] [stdout]     |                                        ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: try expression alternatives have incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             expected enum `Value`, found enum `Reg`
[INFO] [stdout]     |             help: try using a variant of the expected enum: `Value::Reg(token!().parse::<Reg>()?)`
[INFO] [stdout] ...
[INFO] [stdout] 397 |             "ror"  => Op::RRot(reg!(), reg!()),
[INFO] [stdout]     |                                        ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `XorImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:399:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `XorImm` not found here
[INFO] [stdout] ...
[INFO] [stdout] 399 |             "xori" => Op::XorImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `AddImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `AddImm` not found here
[INFO] [stdout] ...
[INFO] [stdout] 400 |             "addi" => Op::AddImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `SubImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:401:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `SubImm` not found here
[INFO] [stdout] ...
[INFO] [stdout] 401 |             "subi" => Op::SubImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `LRotImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:402:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `LRotImm` not found here
[INFO] [stdout] ...
[INFO] [stdout] 402 |             "roli" => Op::LRotImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `RRotImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:403:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `RRotImm` not found here
[INFO] [stdout] ...
[INFO] [stdout] 403 |             "rori" => Op::RRotImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `BranchParity` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `BranchParity` not found here
[INFO] [stdout] ...
[INFO] [stdout] 409 |             "bo" => Op::BranchParity(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `BranchParity` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `BranchParity` not found here
[INFO] [stdout] ...
[INFO] [stdout] 410 |             "be" => Op::BranchParity(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/isa/op.rs:411:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |               token!().parse::<Reg>()?
[INFO] [stdout]     |               ------------------------
[INFO] [stdout] ...
[INFO] [stdout] 345 |           macro_rules! offset(($max:expr) => {{
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout] 346 | |             let offset = Offset::from_str(token!())?;
[INFO] [stdout] 347 | |             
[INFO] [stdout] 348 | |             match offset {
[INFO] [stdout] ...   |
[INFO] [stdout] 356 | |             }
[INFO] [stdout] 357 | |         }});
[INFO] [stdout]     | |_________- supplied 3 arguments
[INFO] [stdout] ...
[INFO] [stdout] 411 |               "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       expected 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/isa/op.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 331 |               token!().parse::<Reg>()?
[INFO] [stdout]     |               ------------------------
[INFO] [stdout] ...
[INFO] [stdout] 345 |           macro_rules! offset(($max:expr) => {{
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout] 346 | |             let offset = Offset::from_str(token!())?;
[INFO] [stdout] 347 | |             
[INFO] [stdout] 348 | |             match offset {
[INFO] [stdout] ...   |
[INFO] [stdout] 356 | |             }
[INFO] [stdout] 357 | |         }});
[INFO] [stdout]     | |_________- supplied 3 arguments
[INFO] [stdout] ...
[INFO] [stdout] 412 |               "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ -----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       expected 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/isa/op.rs:353:38
[INFO] [stdout]     |
[INFO] [stdout] 353 |                     if val <= $max { offset }
[INFO] [stdout]     |                                      ^^^^^^ expected enum `Address`, found enum `Offset`
[INFO] [stdout] ...
[INFO] [stdout] 414 |             "jmp" => Op::Jump(offset!(0x1FFF)),
[INFO] [stdout]     |                               --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 41 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0369, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rel`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "40a70593d46ad4f3f8e9f02e41152644e8bfa009d6c05f7a399851546b94d353", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40a70593d46ad4f3f8e9f02e41152644e8bfa009d6c05f7a399851546b94d353", kill_on_drop: false }`
[INFO] [stdout] 40a70593d46ad4f3f8e9f02e41152644e8bfa009d6c05f7a399851546b94d353
